// pages/user/user.js
let app=getApp();
let USER=require('../../app.js').USER;
let API=require('../../api.js').API;
let util=require('../../utils/util');
let req=require('../../utils/request').Request;

Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  /**
   * 登陆
   * @param {*} event 
   */
  login:function(event){
    let that=this;
    wx.login({
      success:function(res){
        let code=res.code;
        wx.showModal({
          title:'提示',
          content:'需要绑定微信',
          success:function(res){
            if(res.confirm){
              USER.register(code)
              .then(function(data){
                app.globalData.userInfo=data.user;
                app.globalData.token=data.token;
                app.globalData.hasLogin=true;
                that.setData({
                  hasLogin:true,
                  userInfo:data.user
                });
                wx.setStorageSync('token', data.token);
              }).catch(function(res){
                if(res.code==1){
                  let data=res.dataMap;
                  wx.login({
                    success:(res)=>{
                      USER.reAuthenticate(data.uid,res.code)
                      .then(function(data){
                        app.globalData.userInfo=data.user;
                        app.globalData.hasLogin=true;
                        this.setData({
                          hasLogin:true,
                          userInfo:data.user
                        });
                        //wx.setStorageSync('uid', data.user.id);
                        wx.setStorageSync('token',data.token);                            
                      }).catch(function(reason){
                        console.log(reason);
                      });
                    }
                  })
                  
                }
                else console.log(res);
              });
            }
          }
        });
      }
    });
  },

  /**
   * 注销
   * @param {*} options 
   */
  logout:function(event){
    console.log(app.globalData.token);
    let that=this;
    USER.logout(app.globalData.token)
      .then(function(data){
        wx.clearStorageSync('token');
        app.globalData.hasLogin=false;
        that.setData({
          hasLogin:false
        });
      });
  },

  /**
   * 跳转
   * @param {*} event 
   */
  navigator:function(event){
    console.log(event);
    let url=event.currentTarget.dataset.url;
    
    console.log(url);
    wx.navigateTo({
      url:url
    });
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    let headHeight=util.windowHeight()*0.2;
    this.setData({headHeight:headHeight});
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    let hasLogin=app.globalData.hasLogin;
    let userInfo=app.globalData.userInfo;
    //console.log(app.globalData.hasLogin);
    
    this.setData({
      hasLogin:hasLogin,
      userInfo:userInfo
    });
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})